1. Technical Field
The present disclosure relates generally to the field of information handling systems. More specifically, but without limitation, the present disclosure relates to an encoding scheme.
2. Background Information
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is an information handling system. An information handling system (IHS) generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for such systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
In an IHS, various data, including settings for the IHS, may be saved in a nonvolatile storage. Such settings, which may be rarely or frequently changed, may include information regarding hardware configuration, operating modes, boot options, operating system settings, or the like. Current nonvolatile storage technology may have a limit to the number of times a particular memory location may be rewritten before potential data corruption. For example, NAND flash devices may characteristically wear out after approximately 10,000 to 1,000,000 erase-write cycles and NOR flash memory may be limited to approximately 100,000 cycles.
NAND and NOR flash memories may have specific benefits when compared to each other. For example, a NAND flash memory may feature faster write and erase times, while a NOR flash memory may exhibit superior read speeds and random access capabilities. Additionally, one of the benefits of a NOR flash memory may be the ability to run a stored program without having to transfer the program to random access memory (RAM), which may be referred to as in-place execution of code. Because NOR flash memory may provide in-place execution of code, NOR flash memory may often be employed as storage for basic input/output system (BIOS) and ancillary firmware. As a result, settings for an IHS may be stored in the same portion of NOR flash memory employed by BIOS.
Thus a need remains for systems, methods, and computer-readable media for reducing wear in a flash memory. The systems, methods, and computer-readable media provide a compact encoding scheme to reduce wear caused by frequently changing fixed-sized values written in a [NOR] flash memory.